package com.lecyon.farm.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lecyon.farm.base.RestResponse;
import com.lecyon.farm.entity.FmCar;
import com.lecyon.farm.entity.FmSyncCar;
import com.lecyon.farm.rest.IRestService;
import com.lecyon.farm.vo.add.AddFmSyncCarVo;
import com.lecyon.farm.vo.export.ExportFmSyncCarVo;
import com.lecyon.farm.vo.modify.ModifyFmSyncCarVo;
import com.lecyon.farm.vo.query.QueryFmSyncCarVo;
import com.lecyon.farm.vo.status.StatusVo;
import com.lecyon.farm.vo.view.FmSyncCarVo;

import java.util.List;

/**
 * 农机基本信息同步表 Service
 *
 * @author YaoZheng
 * @since 2020-04-13
 */
public interface IFmSyncCarService extends IRestService<AddFmSyncCarVo, ModifyFmSyncCarVo, FmSyncCar, QueryFmSyncCarVo, FmSyncCarVo, Page, StatusVo, ExportFmSyncCarVo> {

    /**
     * 根据传入的 fmCar 判断是新增还是修改并进行相应操作
     *
     * @param fmCar
     * @return
     */
    RestResponse<Long> addOrModify(FmCar fmCar);

    /**
     * 查询目前需要同步信息推送的主机号
     *
     * @return List<FmSyncCarVo>
     */
    List<FmSyncCarVo> getNeedSyncFmCarInfo();

    /**
     * 读取同步条件设定信息，并开始同步主机信息
     *
     * @return
     */
    RestResponse syncFmCar();

}
